'use strict'

const router = require('koa-router')()
const fs = require('fs')

// 遍历指定文件夹下所有的路由定义文件(都是以js结尾的文件，这里需要排除router.js文件)
let file_routerPath =__dirname
let files = fs.readdirSync(file_routerPath)
let routerFile = files.filter(item=>{
    return item.endsWith(".js") && item !=='routes.js'
})

routerFile.forEach(item=>{
    console.log(item);
    registerRouter(item)
})

// 以下代码实现引入模块(设定为返回一个对象)，遍历对象属性和属性值，注册路由
function registerRouter(routerFile){
    let tmpFilePath=__dirname+'/'+routerFile
    const abc = require(tmpFilePath)
    console.log(abc);
    for(let x in abc){  // for in
        console.log(x);
        console.log(abc[x]);  //遍历 打印对象 
        router.get(x,abc[x])
    }    
}

// router.get('/',async(ctx,next)=>{

// })

// // 重构 放在了koa_router.js文件里边
// router.get('/', async (ctx, next) => {
//     ctx.body = `
//         <form action="/user" method="post">
//             <input type="text" name="username">
//             <input type="text" name="age">
//             <input type="text" name="address">
//             <input type="submit">
//         </form>    
//     `
// })
// // get请求传参的两种方式
// router.get('/user/:id', async (ctx, next) => {
//     let arr = [
//         {
//             id: 3,
//             name: "林同学",
//             age: 20,
//             address: '广东'
//         }
//     ]
//     let id = ctx.request.params.id
//     let stu = arr.filter(item => {
//         return item.id = id
//     })[0]
//     let html = `
//         <h1>${stu.name}</h1>
//         <h2>${stu.age}</h2>
//     `
//     ctx.body = html
// })

// router.get('/ceo',async(ctx,next)=>{
//     console.log(ctx.request.query);
//     ctx.body = ctx.request.query
// })


// // post请求  下载koa-bodyparser
// router.post('/user',async(ctx,next)=>{
//     let obj = ctx.request.body
//     console.log(obj);
//     ctx.response.body=obj
// })

module.exports = router;